import 'package:flutter/material.dart';
import 'package:flutter_09_game/base/widget/base_get_builder.dart';
import 'package:flutter_09_game/config/app_color.dart';
import 'package:flutter_09_game/config/app_routes.dart';
import 'package:flutter_09_game/generated/assets.dart';
import 'package:flutter_09_game/generated/locales.g.dart';
import 'package:flutter_09_game/pages/profile/widgets/widget_profile_rich.dart';
import 'package:flutter_09_game/user/app_user_manager.dart';
import 'package:flutter_09_game/utils/log/utils_log.dart';
import 'package:flutter_09_game/utils/utils_other.dart';
import 'package:flutter_09_game/widgets/appbar/common_app_bar.dart';
import 'package:flutter_09_game/widgets/button/common_button.dart';
import 'package:flutter_09_game/widgets/image/auto_image.dart';
import 'package:flutter_09_game/widgets/input/common_text_field.dart';
import 'package:flutter_09_game/widgets/verify_input_box/src/verification_box.dart';
import 'package:flutter_09_game/widgets/widget_profile_item.dart';
import 'package:flutter_09_game/widgets/widget_verification_box.dart';
import 'package:flutter_screenutil/flutter_screenutil.dart';
import 'package:get/get.dart';

import 'profile_edit_fund_password_logic.dart';

class ProfileEditFundPasswordPage extends StatelessWidget {
  ProfileEditFundPasswordPage({super.key});

  final ProfileEditFundPasswordLogic logic =
      Get.put(ProfileEditFundPasswordLogic());

  @override
  Widget build(BuildContext context) {
    return BaseGetBuilder<ProfileEditFundPasswordLogic>(
      appBar: CommonAppBar(
        title: LocaleKeys.changeFundPassword.tr,
        actions: [
          GestureDetector(
            onTap: () {
              AppUserManager().showServiceSheet();
            },
            child: AutoImage(
              Assets.commonServiceBtn,
              width: 32.w,
            ),
          ),
          10.horizontalSpace,
        ],
      ),
      builder: (_) {
        return Container(
          padding: EdgeInsets.all(12.w),
          margin: EdgeInsets.all(16.w)
              .copyWith(bottom: 16 + ScreenUtil().bottomBarHeight),
          decoration: BoxDecoration(
              color: AppColor.navBgColor,
              borderRadius: BorderRadius.circular(16.w)),
          child: Column(
            children: [
              Expanded(
                  child: SingleChildScrollView(
                child: Column(
                  crossAxisAlignment: CrossAxisAlignment.start,
                  children: [
                    WidgetProfileItem(LocaleKeys.fundPassword.tr,
                        WidgetVerificationBox(
                      onValueChanged: (text) {
                        logic.oldFundPassword.value = text;
                      },
                    ),
                        rightWidget: GestureDetector(
                          onTap: () {
                            Get.toNamed(AppRoutes.profileFindFundPasswordPage)
                                ?.then((value) {
                              if (value == true) {
                                Get.back();
                              }
                            });
                          },
                          child: Text(
                            LocaleKeys.forgotFundPassword.tr,
                            style: TextStyle(
                              color: AppColor.primary.withOpacity(0.7),
                              fontSize: 12.sp,
                            ),
                          ),
                        )),
                    16.verticalSpaceFromWidth,
                    WidgetProfileItem(LocaleKeys.newFundPassword.tr,
                        WidgetVerificationBox(
                      onValueChanged: (text) {
                        logic.newFundPassword.value = text;
                      },
                    )),
                    16.verticalSpaceFromWidth,
                    WidgetProfileItem(LocaleKeys.confirmNewFundPassword.tr,
                        WidgetVerificationBox(
                      onValueChanged: (text) {
                        logic.newFundPasswordConfirm.value = text;
                      },
                    )),
                    16.verticalSpaceFromWidth,
                    // securityQuestion
                    Obx(() {
                      return WidgetProfileItem(
                          LocaleKeys.securitySafeQuestion.tr,
                          Container(
                            padding: EdgeInsets.symmetric(
                                vertical: 14.w, horizontal: 12.w),
                            decoration: BoxDecoration(
                                color: AppColor.color2D2F35,
                                borderRadius: BorderRadius.circular(8.w)),
                            child: Row(
                              children: [
                                Text(
                                  logic.securityQuestion.value.question
                                          ?.Content ??
                                      '',
                                  style: TextStyle(
                                      color:
                                          AppColor.textPrimary.withOpacity(0.3),
                                      fontSize: 14.sp,
                                      fontWeight: FontWeight.w500),
                                )
                              ],
                            ),
                          ));
                    }),
                    16.verticalSpaceFromWidth,

                    Obx(() {
                      return WidgetProfileItem(
                          // LocaleKeys.enterSafetyQuestionAnswer.tr,
                          (logic.securityQuestion.value.notice ?? '').isNotEmpty
                              ? '${LocaleKeys.securityAnswerHint.tr}:'
                              : LocaleKeys.enterSecurityAnswer.tr,

                          // leftStr: '',
                          leftStr: logic.securityQuestion.value.notice,
                          CommonTextField(
                            textEditingController: logic.answerController,
                            hintText: LocaleKeys.enterSecurityAnswer.tr,
                            backgroundColor: Colors.black.withOpacity(0.3),
                            borderColor: AppColor.textPrimary.withOpacity(0.15),
                            maxLength: 100,
                            onChanged: (tex) {
                              logic.validateForm();
                            },
                            // )),
                          ));
                    }),
                  ],
                ),
              )),
              12.verticalSpaceFromWidth,
              Obx(() => CommonButton.expend(
                    title: LocaleKeys.confirmEdit.tr,
                    enable: logic.isFormValid.value,
                    onClick: () {
                      logic.postUserChangeFundPassword();
                    },
                  )),
            ],
          ),
        );
      },
    );
  }
}
